import requests
import json
str1='原神 抽奖 明日方舟 王者荣耀 嘉然 塔菲 東雪蓮 七海 猫雷 向晚 贝拉 乃琳 星瞳 梓'
li1=str1.split(' ')
str2='原批 动态抽奖 粥批 农批 嘉心糖 雏草姬 棺材铺 杰尼龟 喵喵露 顶碗人 北极星 奶淇琳 小星星 小孩梓'
li2=str2.split(' ')
dic=(dict(zip(li1,li2)))
def spider_page(uid):
    url = 'https://api.bilibili.com/x/polymer/web-dynamic/v1/feed/space?&host_mid='+uid
    headers = {
         'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36'
     }
    resp = requests.get(url, headers = headers)
    resp.encoding = resp.apparent_encoding
    if resp.status_code == 200:
        s=json.loads(resp.text)
        name=s['data']['items'][0]['modules']['module_author']['name']
        s=str(s)
        # strs='' 懒得解析json了 
        # for i in s['data']['items']:
        #     try: 
        #         #自己的动态内容 转发动态的内容
        #         strs=strs+(i['modules']['module_dynamic']['desc']['rich_text_nodes'][0]['orig_text'])
        #                  +(i['orig']['modules']['module_dynamic']['desc']['rich_text_nodes'][0]['orig_text'])
        #     except:
        #         continue
        # print(strs)
        st='id:{0:} 用户名:{1:} 近期成分如下：\n'.format(uid,name)
        for i in dic.keys():
            if i in s:
                st=st+dic[i]+' '
        print(st)
def main():
    print("b站近期成分查询")
    print('内置关键词:原神 抽奖 明日方舟 王者荣耀 嘉然 塔菲 東雪蓮 七海 猫雷 向晚 贝拉 乃琳 星瞳 梓 ')
    print('对应tag :原批 动态抽奖 粥批 农批 嘉心糖 雏草姬 棺材铺 杰尼龟 喵喵露 顶碗人 北极星 奶淇琳 小星星 小孩梓')
    print('是否添加关键词及tag(y/n): ',end='')
    while 1:
        flag=input()
        if flag=='y' or flag=='Y':
            st='y'
            print('请键入成分及tag(键入n结束输入): 如 原神 原批')
            while 1:
                st=input('在此键入 ')
                if st=='n':
                    break
                is_f,tag=st.split(' ')
                dic[is_f]=tag
            break
        elif flag=='n' or flag=='N':
            break
    while 1:
        print('请输入b站uid: ',end='')
        uid=input()
        spider_page(uid)
main()





       
